Java Technologies - অ্যাপাচি পিওআই (ওয়ার্ড)
185
185

Apache POI এর মাধ্যমে আপনি Microsoft Word (DOCX) ডকুমেন্টে Hyperlinks এবং Bookmarks যোগ করতে পারেন। এগুলি ডকুমেন্টের মধ্যে নেভিগেশন এবং রেফারেন্স তৈরি করার জন্য ব্যবহৃত হয়। Hyperlinks ব্যবহার করে আপনি বাইরের ওয়েব পেজ বা ইন্টারনাল রেফারেন্সের লিংক তৈরি করতে পারেন, এবং Bookmarks ব্যবহার করে ডকুমেন্টের নির্দিষ্ট স্থানে লিঙ্ক তৈরি করতে পারেন।

এখানে Hyperlinks এবং Bookmarks যোগ করার প্রক্রিয়া বিস্তারিতভাবে আলোচনা করা হয়েছে।


১. Hyperlinks যোগ করা

Hyperlink একটি URL বা অন্য ডকুমেন্টের একটি নির্দিষ্ট স্থানে রেফারেন্স প্রদান করে। XWPFRun ক্লাস ব্যবহার করে আপনি টেক্সটের মধ্যে একটি লিঙ্ক যোগ করতে পারেন।

External Hyperlink

import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;

public class AddHyperlink {
    public static void main(String[] args) throws IOException {
        XWPFDocument document = new XWPFDocument();
        
        // একটি প্যারাগ্রাফ তৈরি করা
        XWPFParagraph paragraph = document.createParagraph();
        XWPFRun run = paragraph.createRun();
        
        // টেক্সট সেট করা
        run.setText("Click here to visit Apache POI website.");
        
        // Hyperlink তৈরি করা
        paragraph.setHyperlink("https://poi.apache.org");
        
        // ডকুমেন্ট সেভ করা
        try (FileOutputStream out = new FileOutputStream("document_with_hyperlink.docx")) {
            document.write(out);
        }

        System.out.println("Hyperlink added to the Word document!");
    }
}

এখানে, টেক্সট "Click here to visit Apache POI website." এর সাথে একটি external hyperlink যোগ করা হয়েছে যা ব্যবহারকারীকে Apache POI এর ওয়েবসাইটে নিয়ে যাবে।

Internal Hyperlink (Document Internal Link)

ডকুমেন্টের মধ্যে ইন্টারনাল লিঙ্ক তৈরি করা সম্ভব, যেখানে আপনি ডকুমেন্টের একটি নির্দিষ্ট স্থানে রেফারেন্স করবেন। এই ধরনের লিঙ্কগুলি সাধারণত Bookmark এর সাথে ব্যবহৃত হয়।

import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;

public class AddInternalHyperlink {
    public static void main(String[] args) throws IOException {
        XWPFDocument document = new XWPFDocument();
        
        // একটি প্যারাগ্রাফ তৈরি করা
        XWPFParagraph paragraph = document.createParagraph();
        XWPFRun run = paragraph.createRun();
        
        // টেক্সট যোগ করা
        run.setText("Click here to jump to the section.");
        
        // ডকুমেন্টের একটি অংশের সাথে লিঙ্ক করা (Internal Link)
        paragraph.setHyperlink("section-bookmark");
        
        // ডকুমেন্টে Bookmarks তৈরি করা
        XWPFParagraph sectionParagraph = document.createParagraph();
        sectionParagraph.createRun().setText("This is the bookmarked section.");
        sectionParagraph.setName("section-bookmark");  // Bookmark নাম
        
        // ডকুমেন্ট সেভ করা
        try (FileOutputStream out = new FileOutputStream("document_with_internal_hyperlink.docx")) {
            document.write(out);
        }

        System.out.println("Internal hyperlink added to the Word document!");
    }
}

এখানে, "Click here to jump to the section." টেক্সট একটি ইন্টারনাল লিঙ্কে পরিণত হয়েছে যা "section-bookmark" নামের Bookmark এর দিকে নেভিগেট করবে।


২. Bookmarks যোগ করা

Bookmark ডকুমেন্টে একটি নির্দিষ্ট স্থানে নাম দিয়ে একটি রেফারেন্স তৈরি করে, যাতে অন্য স্থানে লিঙ্ক তৈরি করে সেই স্থানটি সহজে পোঁছানো যায়।

Bookmark তৈরি এবং লিঙ্ক করা

import org.apache.poi.xwpf.usermodel.*;
import java.io.FileOutputStream;
import java.io.IOException;

public class AddBookmark {
    public static void main(String[] args) throws IOException {
        XWPFDocument document = new XWPFDocument();
        
        // Bookmarked paragraph তৈরি করা
        XWPFParagraph paragraph1 = document.createParagraph();
        paragraph1.createRun().setText("This is a bookmarked section.");
        paragraph1.setName("section-bookmark");  // Bookmark নাম
        
        // অন্য প্যারাগ্রাফে লিঙ্ক তৈরি করা
        XWPFParagraph paragraph2 = document.createParagraph();
        XWPFRun run2 = paragraph2.createRun();
        run2.setText("Click here to go to the bookmarked section.");
        
        // Bookmark এর দিকে লিঙ্ক তৈরি করা
        paragraph2.setHyperlink("#section-bookmark");
        
        // ডকুমেন্ট সেভ করা
        try (FileOutputStream out = new FileOutputStream("document_with_bookmark.docx")) {
            document.write(out);
        }

        System.out.println("Bookmark added to the Word document!");
    }
}

এখানে, section-bookmark নামের একটি Bookmark তৈরি করা হয়েছে এবং অন্য একটি প্যারাগ্রাফের মধ্যে সেই Bookmark এর দিকে একটি Hyperlink সেট করা হয়েছে।


৩. Hyperlink এবং Bookmark এর মধ্যে পার্থক্য

  • Hyperlink: বাইরের URL বা ডকুমেন্টের এক জায়গা থেকে অন্য জায়গায় নেভিগেট করতে ব্যবহার করা হয়। এটি সাধারনত ওয়েব পেজ বা ডকুমেন্টের নির্দিষ্ট অংশের মধ্যে লিঙ্ক হিসেবে ব্যবহৃত হয়।
  • Bookmark: একটি নির্দিষ্ট স্থানকে চিহ্নিত করার জন্য ব্যবহৃত হয়। এটি ডকুমেন্টের মধ্যে লিঙ্ক করা যায়, কিন্তু বাইরের URL এর সাথে সম্পর্কিত নয়।

সারাংশ

Apache POI এর মাধ্যমে আপনি Microsoft Word (DOCX) ডকুমেন্টে Hyperlinks এবং Bookmarks যোগ করতে পারেন। Hyperlinks বাইরের URL বা ডকুমেন্টের মধ্যে ইন্টারনাল লিঙ্ক তৈরি করতে ব্যবহৃত হয়, এবং Bookmarks ডকুমেন্টের মধ্যে নির্দিষ্ট স্থানে নাম দিয়ে রেফারেন্স তৈরি করে। এই ফিচারগুলি ডকুমেন্টের নেভিগেশন সুবিধা বাড়াতে সাহায্য করে।

common.content_added_by
136
136

Apache POI ব্যবহার করে আপনি Word ডকুমেন্টে Hyperlink যোগ করতে পারেন। হাইপারলিংক একটি ক্লিকেবল লিংক, যা ব্যবহারকারীদের নির্দিষ্ট ওয়েব পেজ বা ডকুমেন্টের অংশে নেভিগেট করতে সাহায্য করে। আপনি XWPFDocument এবং XWPFRun ক্লাস ব্যবহার করে হাইপারলিংক তৈরি করতে পারেন এবং সেটির ভিন্ন ভিন্ন গুণাবলী যেমন টেক্সট, URL বা লিংকের অ্যালাইনমেন্ট কাস্টমাইজ করতে পারবেন।

নিম্নে দেখানো হয়েছে কিভাবে একটি হাইপারলিংক Word ডকুমেন্টে যোগ করা যায়।


1. Word ডকুমেন্টে Hyperlink যোগ করা

আপনি XWPFRun ব্যবহার করে টেক্সট বা অন্য কোনো উপাদানে হাইপারলিংক যোগ করতে পারেন। XWPFHyperlink ক্লাস ব্যবহার করে আপনি লিংক টার্গেট (URL) নির্ধারণ করতে পারেন।

কোড উদাহরণ: Hyperlink যোগ করা

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.apache.poi.xwpf.usermodel.XWPFPictureData;

import java.io.FileOutputStream;
import java.io.IOException;

public class HyperlinkExample {
    public static void main(String[] args) throws IOException {
        // নতুন Word ডকুমেন্ট তৈরি
        XWPFDocument document = new XWPFDocument();

        // একটি প্যারাগ্রাফ তৈরি
        XWPFParagraph paragraph = document.createParagraph();

        // প্যারাগ্রাফে রান তৈরি করা
        XWPFRun run = paragraph.createRun();
        run.setText("এটি একটি হাইপারলিংক উদাহরণ।");

        // হাইপারলিংক যোগ করা
        run.setText(" [Click Here](http://www.example.com)"); // লিংকের টেক্সট
        run.setHyperlink("http://www.example.com"); // হাইপারলিংক URL

        // Word ডকুমেন্ট সেভ করা
        try (FileOutputStream out = new FileOutputStream("hyperlink_example.docx")) {
            document.write(out);
        }

        System.out.println("হাইপারলিংক সহ Word ডকুমেন্ট সফলভাবে তৈরি হয়েছে!");
    }
}

কোড ব্যাখ্যা:

  • setHyperlink(): এই মেথডটি হাইপারলিংক যোগ করার জন্য ব্যবহৃত হয়, যেখানে URL নির্ধারণ করা হয়।
  • run.setText(" Click Here"): হাইপারলিংকের টেক্সট নির্ধারণ করা।

এই কোডটি Word ডকুমেন্টে একটি হাইপারলিংক যোগ করবে, যা ব্যবহারকারীকে নির্দিষ্ট URL-এ নেভিগেট করতে সাহায্য করবে।


2. Hyperlink Text Style কাস্টমাইজ করা

আপনি হাইপারলিংকের টেক্সটের স্টাইলও কাস্টমাইজ করতে পারেন, যেমন বোল্ড, আন্ডারলাইন, বা ফন্ট পরিবর্তন করা। এটি XWPFRun ক্লাসের মাধ্যমে করা যায়।

কোড উদাহরণ: Hyperlink Text Style কাস্টমাইজ করা

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.FileOutputStream;
import java.io.IOException;

public class HyperlinkTextStyleExample {
    public static void main(String[] args) throws IOException {
        // নতুন Word ডকুমেন্ট তৈরি
        XWPFDocument document = new XWPFDocument();

        // একটি প্যারাগ্রাফ তৈরি
        XWPFParagraph paragraph = document.createParagraph();

        // প্যারাগ্রাফে রান তৈরি করা
        XWPFRun run = paragraph.createRun();
        run.setText("এটি একটি কাস্টম স্টাইলের হাইপারলিংক উদাহরণ।");

        // হাইপারলিংক যোগ করা
        run.setHyperlink("http://www.example.com"); // হাইপারলিংক URL

        // হাইপারলিংক টেক্সট স্টাইল কাস্টমাইজ করা
        run.setUnderline(true);  // টেক্সট আন্ডারলাইন করা
        run.setColor("0000FF");  // টেক্সট রং (নীল)
        run.setBold(true);       // টেক্সট বোল্ড করা

        // Word ডকুমেন্ট সেভ করা
        try (FileOutputStream out = new FileOutputStream("styled_hyperlink_example.docx")) {
            document.write(out);
        }

        System.out.println("কাস্টম স্টাইল সহ হাইপারলিংক Word ডকুমেন্টে সফলভাবে যোগ করা হয়েছে!");
    }
}

কোড ব্যাখ্যা:

  • setUnderline(true): হাইপারলিংকের টেক্সট আন্ডারলাইন করে।
  • setColor("0000FF"): টেক্সটের রঙ নীল (নীল হেক্স কোড) পরিবর্তন করা।
  • setBold(true): টেক্সটকে বোল্ড করা।

এই কোডটি হাইপারলিংকের টেক্সটকে কাস্টম স্টাইলে সাজাবে, যেমন নীল রঙ, বোল্ড, এবং আন্ডারলাইন।


3. Hyperlink Target এবং Title কাস্টমাইজ করা

আপনি হাইপারলিংকের টার্গেট এবং টাইটেলও কাস্টমাইজ করতে পারেন, যেমন একে নতুন ট্যাবে ওপেন করা বা টাইটেল প্রদর্শন করা।

কোড উদাহরণ: Hyperlink Target এবং Title কাস্টমাইজ করা

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;

import java.io.FileOutputStream;
import java.io.IOException;

public class HyperlinkWithTargetAndTitleExample {
    public static void main(String[] args) throws IOException {
        // নতুন Word ডকুমেন্ট তৈরি
        XWPFDocument document = new XWPFDocument();

        // একটি প্যারাগ্রাফ তৈরি
        XWPFParagraph paragraph = document.createParagraph();

        // প্যারাগ্রাফে রান তৈরি করা
        XWPFRun run = paragraph.createRun();
        run.setText("এই হাইপারলিংকটি নতুন ট্যাবে খোলা হবে।");

        // হাইপারলিংক যোগ করা এবং টার্গেট নির্ধারণ করা
        run.setHyperlink("http://www.example.com"); // URL
        run.setHyperlinkTarget("_blank");  // নতুন ট্যাবে লিংক খোলা হবে
        run.setTitle("এটি একটি উদাহরণ হাইপারলিংক"); // টাইটেল

        // Word ডকুমেন্ট সেভ করা
        try (FileOutputStream out = new FileOutputStream("hyperlink_with_target_title.docx")) {
            document.write(out);
        }

        System.out.println("টার্গেট এবং টাইটেল সহ হাইপারলিংক Word ডকুমেন্টে সফলভাবে যোগ করা হয়েছে!");
    }
}

কোড ব্যাখ্যা:

  • setHyperlinkTarget("_blank"): হাইপারলিংকটি নতুন ট্যাবে খোলার জন্য _blank ব্যবহার করা হয়েছে।
  • setTitle("এটি একটি উদাহরণ হাইপারলিংক"): হাইপারলিংকের টাইটেল নির্ধারণ করা হয়েছে।

এই কোডটি একটি হাইপারলিংক তৈরি করবে, যা নতুন ট্যাবে খোলা হবে এবং একটি টাইটেল থাকবে।


সারাংশ

Apache POI ব্যবহার করে Word ডকুমেন্টে Hyperlink যোগ করা সহজ এবং বিভিন্ন কাস্টমাইজেশন করা সম্ভব। আপনি Hyperlink টেক্সট, target, title, এবং style পরিবর্তন করতে পারেন, যেমন বোল্ড, আন্ডারলাইন, এবং টেক্সট কালার। এছাড়া, setHyperlink() এবং setHyperlinkTarget() মেথডগুলির মাধ্যমে লিংককে প্রোগ্রামেটিকভাবে কাস্টমাইজ করা যায়, যা Word ডকুমেন্টে কার্যকরী হাইপারলিংক তৈরি করতে সাহায্য করবে।


common.content_added_by
127
127

Apache POI ব্যবহার করে Microsoft Word ডকুমেন্টে External (বহিরাগত) এবং Internal (অভ্যন্তরীণ) লিঙ্ক তৈরি এবং পরিচালনা করা সম্ভব। আপনি এই লিঙ্কগুলি ব্যবহারকারীদের একটি নির্দিষ্ট ওয়েবপেজে (External) অথবা ডকুমেন্টের কোনো নির্দিষ্ট স্থানে (Internal) নিয়ে যেতে পারেন।

External Links (বহিরাগত লিঙ্ক)

External Links হল ওয়েবপেজ বা অন্যান্য বাহ্যিক রিসোর্সে নির্দেশিত লিঙ্ক, যেমন http:// বা https:// ধরনের লিঙ্ক। আপনি যখন কোনো ওয়েবসাইট বা ডোমেইনে রিডাইরেক্ট করতে চান, তখন এই ধরনের লিঙ্ক ব্যবহার করা হয়।

Internal Links (অভ্যন্তরীণ লিঙ্ক)

Internal Links ডকুমেন্টের অভ্যন্তরে নির্দিষ্ট অংশে লিঙ্ক করে, যেমন পৃষ্ঠা নম্বর, টেবিল, হেডিং বা একটি নির্দিষ্ট স্থান। এই ধরনের লিঙ্ক ব্যবহারকারীদের ডকুমেন্টের মধ্যে দ্রুত স্থানান্তর করতে সাহায্য করে।


External Links তৈরি করা

একটি External Link তৈরি করতে, XWPFRun ব্যবহার করে হাইপারলিঙ্ক তৈরি করা হয়, এবং addHyperlink মেথডের মাধ্যমে ওয়েবপেজের URL নির্ধারণ করা হয়।

উদাহরণ: External Link তৈরি করা

import org.apache.poi.xwpf.usermodel.*;

import java.io.FileOutputStream;
import java.io.IOException;

public class ExternalLinkExample {
    public static void main(String[] args) throws IOException {
        // নতুন ডকুমেন্ট তৈরি করা
        XWPFDocument document = new XWPFDocument();

        // প্যারাগ্রাফ তৈরি করা
        XWPFParagraph paragraph = document.createParagraph();
        XWPFRun run = paragraph.createRun();

        // External Link তৈরি করা
        String url = "https://www.example.com";
        run.setText("Click here to visit Example.com");
        run.setHyperlink(url);

        // ডকুমেন্ট সংরক্ষণ করা
        try (FileOutputStream out = new FileOutputStream("ExternalLinkExample.docx")) {
            document.write(out);
        }

        System.out.println("External Link সফলভাবে তৈরি করা হয়েছে!");
    }
}

কোড ব্যাখ্যা:

  • setHyperlink(url) ব্যবহার করে ডকুমেন্টে একটি URL লিঙ্ক তৈরি করা হয়েছে।
  • ব্যবহারকারী যখন এই লিঙ্কে ক্লিক করবে, তখন সেটি নির্দিষ্ট ওয়েবপেজে চলে যাবে।

Internal Links তৈরি করা

Internal Links তৈরি করতে XWPFParagraph এবং XWPFFootnote ব্যবহার করা হয়, যেখানে আপনি ডকুমেন্টের বিশেষ স্থানে লিঙ্ক করতে পারেন (যেমন হেডিং, পৃষ্ঠা নম্বর ইত্যাদি)।

উদাহরণ: Internal Link তৈরি করা

import org.apache.poi.xwpf.usermodel.*;

import java.io.FileOutputStream;
import java.io.IOException;

public class InternalLinkExample {
    public static void main(String[] args) throws IOException {
        // নতুন ডকুমেন্ট তৈরি করা
        XWPFDocument document = new XWPFDocument();

        // প্রথম প্যারাগ্রাফ তৈরি করা
        XWPFParagraph paragraph1 = document.createParagraph();
        XWPFRun run1 = paragraph1.createRun();
        run1.setText("This is the first section.");

        // সেকেন্ড প্যারাগ্রাফ তৈরি করা
        XWPFParagraph paragraph2 = document.createParagraph();
        XWPFRun run2 = paragraph2.createRun();
        run2.setText("Click here to go to the first section.");
        
        // Internal Link (Internal Bookmark) তৈরি করা
        paragraph2.setStyle("Heading1");
        run2.setHyperlink("#section1");

        // ডকুমেন্ট সংরক্ষণ
        try (FileOutputStream out = new FileOutputStream("InternalLinkExample.docx")) {
            document.write(out);
        }

        System.out.println("Internal Link সফলভাবে তৈরি করা হয়েছে!");
    }
}

কোড ব্যাখ্যা:

  • #section1 ব্যবহার করে একটি অভ্যন্তরীণ লিঙ্ক তৈরি করা হয়েছে, যেখানে section1 হল প্যারাগ্রাফের একটি নাম বা লেবেল।
  • এখানে setHyperlink("#section1") ব্যবহার করা হয়েছে, যা পেজের একটি নির্দিষ্ট স্থানে লিঙ্ক করবে।

External এবং Internal Links এর মধ্যে পার্থক্য

দিকExternal LinksInternal Links
ব্যবহারওয়েবসাইট বা বাহ্যিক রিসোর্সে রিডাইরেক্ট করা হয়ডকুমেন্টের ভিতরে নির্দিষ্ট স্থানে লিঙ্ক করা হয়
ফরম্যাটসাধারণত http:// বা https://একটি নির্দিষ্ট স্থান বা ট্যাগের মধ্যে রেফারেন্স
উদাহরণhttps://www.example.com#section1, #page2

Internal Links এর জন্য Bookmarks ব্যবহার করা

Internal Link তৈরি করার জন্য Bookmark ব্যবহার করা যেতে পারে। এটি আপনাকে ডকুমেন্টের মধ্যে কোনো নির্দিষ্ট স্থানে সহজে লিঙ্ক তৈরি করতে সাহায্য করে। Apache POI তে XWPFBookmark ব্যবহার করা হয় ডকুমেন্টে Bookmarks তৈরি করার জন্য।

উদাহরণ: Internal Bookmark তৈরি করা

import org.apache.poi.xwpf.usermodel.*;

import java.io.FileOutputStream;
import java.io.IOException;

public class BookmarkInternalLinkExample {
    public static void main(String[] args) throws IOException {
        // নতুন ডকুমেন্ট তৈরি করা
        XWPFDocument document = new XWPFDocument();

        // প্রথম প্যারাগ্রাফ তৈরি করা
        XWPFParagraph paragraph1 = document.createParagraph();
        XWPFRun run1 = paragraph1.createRun();
        run1.setText("This is the first section.");
        
        // Bookmark তৈরি করা
        paragraph1.setStyle("Heading1");
        XWPFBookmark bookmark = new XWPFBookmark(paragraph1, "section1");

        // সেকেন্ড প্যারাগ্রাফ তৈরি করা
        XWPFParagraph paragraph2 = document.createParagraph();
        XWPFRun run2 = paragraph2.createRun();
        run2.setText("Click here to go to the first section.");
        
        // Internal Link (Internal Bookmark) তৈরি করা
        run2.setHyperlink("#section1");

        // ডকুমেন্ট সংরক্ষণ
        try (FileOutputStream out = new FileOutputStream("BookmarkInternalLinkExample.docx")) {
            document.write(out);
        }

        System.out.println("Internal Bookmark Link সফলভাবে তৈরি করা হয়েছে!");
    }
}

কোড ব্যাখ্যা:

  • এখানে XWPFBookmark ব্যবহার করে একটি অভ্যন্তরীণ বর্ণনা তৈরি করা হয়েছে এবং পরে run.setHyperlink("#section1") এর মাধ্যমে সেই Bookmark এ লিঙ্ক করা হয়েছে।

সারাংশ

Apache POI এর মাধ্যমে External এবং Internal Links তৈরি এবং ব্যবস্থাপনা করা সহজ। আপনি ওয়েবপেজে রিডাইরেক্ট করতে External Links ব্যবহার করতে পারেন, এবং ডকুমেন্টের ভিতরে একটি নির্দিষ্ট অংশে নেভিগেট করতে Internal Links ব্যবহার করতে পারেন। Internal Links এর জন্য Bookmarks এবং Heading Styles ব্যবহার করা যেতে পারে, যা ডকুমেন্টে দ্রুত স্থানান্তর করতে সাহায্য করে। setHyperlink() পদ্ধতি ব্যবহার করে এই লিঙ্কগুলো তৈরি এবং প্রয়োগ করা হয়।

common.content_added_by

Bookmarks এর মাধ্যমে Document Navigation

124
124

অ্যাপাচি পিওআই (Apache POI) ব্যবহার করে Word ডকুমেন্টে Bookmarks তৈরি এবং পরিচালনা করা সম্ভব। Bookmarks ডকুমেন্টের নির্দিষ্ট অংশকে চিহ্নিত করতে ব্যবহৃত হয়, যা পরে ব্যবহারকারীর জন্য দ্রুত নেভিগেশন এবং অ্যাক্সেস সুবিধা দেয়। ডকুমেন্টের বিভিন্ন অংশে Bookmarks তৈরি করে ব্যবহারকারী দ্রুত সেই অংশে চলে যেতে পারেন, যেমন একটি টেবিল, প্যারাগ্রাফ বা চিত্র।


Bookmarks এর মাধ্যমে Document Navigation

Bookmarks ডকুমেন্টের নির্দিষ্ট জায়গায় নেভিগেট করতে সাহায্য করে। এটি সাধারণত একটি স্থানীয় লিঙ্ক হিসেবে কাজ করে, যেখানে ব্যবহারকারী ক্লিক করে সরাসরি সংশ্লিষ্ট জায়গায় চলে যেতে পারে। Apache POI এর XWPF API দিয়ে Word ডকুমেন্টে Bookmarks যোগ এবং পরিচালনা করা যেতে পারে।

Bookmarks তৈরি করা

import org.apache.poi.xwpf.usermodel.*;
import org.apache.xmlbeans.XmlCursor;

import java.io.*;

public class AddBookmarkToWord {
    public static void main(String[] args) throws Exception {
        // নতুন Word ডকুমেন্ট তৈরি করা
        XWPFDocument document = new XWPFDocument();

        // একটি প্যারাগ্রাফ তৈরি করা
        XWPFParagraph paragraph = document.createParagraph();
        XWPFRun run = paragraph.createRun();
        
        // Bookmarks তৈরি করা
        String bookmarkName = "myBookmark";
        String bookmarkText = "This is a bookmarked section.";

        // Bookmarked text যোগ করা
        run.setText(bookmarkText);

        // Bookmark যোগ করা
        XmlCursor cursor = run.getCTR().newCursor();
        cursor.toFirstChild();
        cursor.insertNamespace("w", "http://schemas.openxmlformats.org/wordprocessingml/2006/main");
        cursor.beginElement("w:bookmarkStart");
        cursor.insertAttributeWithValue("w:name", bookmarkName);
        cursor.insertAttributeWithValue("w:id", "1");

        cursor.toEndToken();
        cursor.beginElement("w:bookmarkEnd");
        cursor.insertAttributeWithValue("w:id", "1");

        // ডকুমেন্ট সেভ করা
        try (FileOutputStream out = new FileOutputStream("word_with_bookmark.docx")) {
            document.write(out);
        }

        System.out.println("Bookmark successfully added to document!");
    }
}

কোডের ব্যাখ্যা:

  1. XWPFParagraph তৈরি: XWPFDocument থেকে একটি প্যারাগ্রাফ তৈরি করা হয়।
  2. Bookmark এর নাম ও টেক্সট: Bookmark-এর জন্য একটি নাম এবং টেক্সট নির্ধারণ করা হয়।
  3. XmlCursor ব্যবহার: POI এর XmlCursor ব্যবহার করে w:bookmarkStart এবং w:bookmarkEnd ট্যাগ যোগ করা হয়, যার মাধ্যমে Bookmark সঠিক স্থানে চিহ্নিত হয়।
  4. Bookmark সেভ করা: ডকুমেন্টটি সেভ করা হয় যেখানে Bookmark সংযুক্ত থাকে।

Bookmark এর মধ্যে Text এবং Link ব্যবস্থাপনা

  • Bookmark Name: এটি Bookmark এর পরিচিতি নাম, যা ডকুমেন্টে আলাদা আলাদা অংশ চিহ্নিত করতে সাহায্য করে।
  • Bookmark Text: এটি সেই অংশের টেক্সট যেটি Bookmark দ্বারা চিহ্নিত থাকবে।

Document Navigation এর জন্য Bookmark ব্যবহার

এখন, আপনি যখন Word ডকুমেন্টটি ওপেন করবেন, তখন Bookmark ব্যবহৃত অংশগুলিতে দ্রুত নেভিগেট করতে পারবেন। উদাহরণস্বরূপ, Microsoft Word এ আপনি Ctrl + G প্রেস করলে, একটি Go To ডায়ালগ বক্স খুলবে, যেখানে আপনি Bookmark নাম দিয়ে সরাসরি সেই অংশে যেতে পারবেন।

Bookmarks দিয়ে Document Navigation:

  1. Go To ফিচার ব্যবহার করুন: Microsoft Word বা অন্য কোন সফটওয়্যার যেখানে Bookmark সাপোর্ট করা হয়, সেখানে আপনি Go To অপশন ব্যবহার করে সরাসরি Bookmark নাম দিয়ে সেই অংশে নেভিগেট করতে পারবেন।
  2. Linking Bookmarks: আপনি একটি Hyperlink ব্যবহার করে অন্যান্য অংশে Bookmark তৈরি করতে পারেন এবং ক্লিক করে দ্রুত নেভিগেট করতে পারবেন।

সারাংশ

Apache POI এর মাধ্যমে Word ডকুমেন্টে Bookmarks তৈরি করা যায়, যা ব্যবহারকারীর জন্য দ্রুত নেভিগেশন এবং অ্যাক্সেস সুবিধা প্রদান করে। আপনি XWPF API ব্যবহার করে একটি নির্দিষ্ট অংশে Bookmark তৈরি করতে পারেন এবং পরে সেই Bookmark নাম দিয়ে সহজেই ডকুমেন্টে নেভিগেট করতে পারেন। এটি বিশেষ করে বড় ডকুমেন্টের ক্ষেত্রে কার্যকরী যেখানে অনেক পৃষ্ঠা বা বিভাগ থাকতে পারে।

common.content_added_by
186
186

Apache POI লাইব্রেরি ব্যবহার করে Microsoft Word ডকুমেন্টে Hyperlink এবং Bookmark তৈরি এবং ফরম্যাট করা একটি সাধারণ কাজ। আপনি XWPFDocument এবং XWPFRun ক্লাস ব্যবহার করে সহজেই হাইপারলিঙ্ক এবং বুকমার্ক যুক্ত করতে পারেন এবং তাদের ফরম্যাট কাস্টমাইজ করতে পারেন। এখানে হাইপারলিঙ্ক এবং বুকমার্কের ফরম্যাটিং সম্পর্কিত সেরা অভ্যাস এবং কৌশল আলোচনা করা হচ্ছে।

১. হাইপারলিঙ্ক তৈরি এবং ফরম্যাটিং

Hyperlink হলো এমন একটি লিঙ্ক যা ব্যবহারকারীকে অন্য কোনো পেজ বা রিসোর্সে নিয়ে যায়। Microsoft Word ডকুমেন্টে হাইপারলিঙ্ক তৈরির জন্য XWPFRun এবং addHyperlink() পদ্ধতি ব্যবহার করা যায়।

হাইপারলিঙ্ক তৈরি করার উদাহরণ:

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.*;

public class HyperlinkExample {
    public static void main(String[] args) {
        try {
            // নতুন ডকুমেন্ট তৈরি
            XWPFDocument document = new XWPFDocument();
            
            // একটি প্যারাগ্রাফ তৈরি
            XWPFParagraph paragraph = document.createParagraph();
            
            // রান তৈরি এবং হাইপারলিঙ্ক যোগ করা
            XWPFRun run = paragraph.createRun();
            String link = "https://www.example.com";
            run.setText("Visit Example Website");
            run.setBold(true);
            run.setColor("0000FF");  // ব্লু রঙ
            run.setUnderline(true);
            
            // হাইপারলিঙ্ক যুক্ত করা
            run.addHyperlink(link);
            
            // ডকুমেন্ট সেভ করা
            try (FileOutputStream fos = new FileOutputStream("HyperlinkExample.docx")) {
                document.write(fos);
            }
            System.out.println("হাইপারলিঙ্ক সফলভাবে তৈরি করা হয়েছে!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

কোডের ব্যাখ্যা:

  • setText(): হাইপারলিঙ্কের টেক্সট নির্ধারণ।
  • setBold(), setColor(), setUnderline(): হাইপারলিঙ্কের স্টাইল কাস্টমাইজেশন।
  • addHyperlink(): হাইপারলিঙ্ক যুক্ত করা।

হাইপারলিঙ্কের ফরম্যাট কাস্টমাইজেশন:

  1. Font Style: হাইপারলিঙ্কের টেক্সট ফন্ট স্টাইল, সাইজ এবং কালার কাস্টমাইজ করা যায়।
  2. Underline: হাইপারলিঙ্ক সাধারণত আন্ডারলাইন করা হয়, যা setUnderline() পদ্ধতির মাধ্যমে নির্ধারণ করা হয়।

২. বুকমার্ক তৈরি এবং ফরম্যাটিং

Bookmark হলো একটি নির্দিষ্ট স্থান বা পজিশন যা ডকুমেন্টের মধ্যে রেফারেন্স হিসাবে ব্যবহৃত হয়। Apache POI লাইব্রেরি ব্যবহার করে বুকমার্ক তৈরি এবং ফরম্যাট করা সম্ভব, তবে এটি সাধারণত XWPFRun বা XWPFParagraph ব্যবহার করে করা হয়।

বুকমার্ক তৈরি করার উদাহরণ:

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import org.apache.poi.xwpf.usermodel.XWPFFootnote;
import org.apache.poi.xwpf.usermodel.XWPFTable;
import org.apache.poi.xwpf.usermodel.XWPFTableRow;
import org.apache.poi.xwpf.usermodel.XWPFTableCell;
import java.io.*;

public class BookmarkExample {
    public static void main(String[] args) {
        try {
            // নতুন ডকুমেন্ট তৈরি
            XWPFDocument document = new XWPFDocument();
            
            // একটি প্যারাগ্রাফ তৈরি
            XWPFParagraph paragraph = document.createParagraph();
            
            // রান তৈরি
            XWPFRun run = paragraph.createRun();
            run.setText("This is a sample text with a bookmark.");
            
            // বুকমার্ক তৈরি (ব্যবহারকারী নির্দিষ্ট নাম দিবে)
            String bookmarkName = "SampleBookmark";
            run.addBookmark(bookmarkName);
            
            // ডকুমেন্ট সেভ করা
            try (FileOutputStream fos = new FileOutputStream("BookmarkExample.docx")) {
                document.write(fos);
            }
            System.out.println("বুকমার্ক সফলভাবে তৈরি করা হয়েছে!");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

কোডের ব্যাখ্যা:

  • addBookmark(): নির্দিষ্ট একটি নাম দিয়ে বুকমার্ক যুক্ত করা হয়। এটি ব্যবহারকারীর রেফারেন্সের জন্য।

বুকমার্কের ফরম্যাট কাস্টমাইজেশন:

  • Text Style: বুকমার্কের টেক্সট এবং ফরম্যাটের জন্য setBold(), setColor(), এবং setFontSize() এর মতো পদ্ধতি ব্যবহার করা যায়।
  • Positioning: বুকমার্ক তৈরি করার সময় এটি সাধারণত নির্দিষ্ট স্থানে যোগ করা হয়। আপনি নির্দিষ্ট প্যারাগ্রাফ বা রান এ বুকমার্ক যুক্ত করতে পারেন।

৩. হাইপারলিঙ্ক এবং বুকমার্কের মধ্যে সম্পর্ক

হাইপারলিঙ্ক এবং বুকমার্কের মধ্যে সম্পর্ক হলো, আপনি হাইপারলিঙ্ক ব্যবহার করে বুকমার্ক এ রেফারেন্স করতে পারেন। এটি ডকুমেন্টের মধ্যে একটি নির্দিষ্ট স্থানে দ্রুত চলে যেতে সহায়ক হয়।

উদাহরণ: হাইপারলিঙ্কের মাধ্যমে বুকমার্কে লিঙ্ক করা

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFRun;
import java.io.*;

public class HyperlinkToBookmarkExample {
    public static void main(String[] args) {
        try {
            XWPFDocument document = new XWPFDocument();

            // একটি প্যারাগ্রাফ তৈরি
            XWPFParagraph paragraph1 = document.createParagraph();
            XWPFRun run1 = paragraph1.createRun();
            run1.setText("Click here to go to the bookmark");
            run1.setColor("0000FF");
            run1.setUnderline(true);

            // হাইপারলিঙ্ক তৈরি
            String bookmarkLink = "#SampleBookmark";
            run1.addHyperlink(bookmarkLink);

            // বুকমার্ক যুক্ত করা
            XWPFParagraph paragraph2 = document.createParagraph();
            XWPFRun run2 = paragraph2.createRun();
            run2.setText("This is the destination of the bookmark.");
            run2.addBookmark("SampleBookmark"); // Bookmark name

            // ডকুমেন্ট সেভ করা
            try (FileOutputStream fos = new FileOutputStream("HyperlinkToBookmarkExample.docx")) {
                document.write(fos);
            }

            System.out.println("হাইপারলিঙ্ক এবং বুকমার্ক সফলভাবে তৈরি করা হয়েছে!");

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

কোডের ব্যাখ্যা:

  • প্রথম প্যারাগ্রাফে একটি হাইপারলিঙ্ক তৈরি করা হয়েছে যা বুকমার্কে রেফারেন্স করে।
  • দ্বিতীয় প্যারাগ্রাফে সেই বুকমার্ক তৈরি করা হয়েছে, যাতে হাইপারলিঙ্কটি এই বুকমার্কে চলে যায়।

Apache POI লাইব্রেরি ব্যবহার করে Microsoft Word ডকুমেন্টে Hyperlink এবং Bookmark তৈরি এবং ফরম্যাট করা খুবই সহজ। আপনি হাইপারলিঙ্কের মাধ্যমে ওয়েব পেজ বা অন্য কোনো রিসোর্সে রেফারেন্স করতে পারেন, এবং বুকমার্কের মাধ্যমে ডকুমেন্টের নির্দিষ্ট স্থানে দ্রুত চলে যেতে পারেন। এছাড়া, হাইপারলিঙ্ক এবং বুকমার্কের ফরম্যাটিং কাস্টমাইজ করে আপনি ডকুমেন্টের চেহারা এবং ব্যবহারযোগ্যতা আরও ভালো করতে পারেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion